<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>数组解构赋值的默认值</title>
  </head>
  <body>
    <script>
      // 1.默认值的基本用法
      // const [a, b] = [];
      // const [a, b] = [undefined, undefined];

      // const [a = 1, b = 2] = [];
      // console.log(a, b);

      // 2.默认值的生效条件
      // 只有当一个数组成员严格等于（===）undefined 时，对应的默认值才会生效
      // const [a = 1, b = 2] = [3, 0];
      // const [a = 1, b = 2] = [3, null];
      // const [a = 1, b = 2] = [3];
      // console.log(a, b);

      // 3.默认值表达式
      // 如果默认值是表达式，默认值表达式是惰性求值的
      // const func = () => {
      //   console.log('我被执行了');
      //   return 2;
      // };
      // // const [x = func()] = [1];
      // const [x = func()] = [];
      // console.log(x);
    </script>
  </body>
</html>
